package se480.paf.pipes.impl;

import se480.paf.pipes.Item;
import se480.paf.pipes.Pipe;

/**
 * Pipe implementation using a queue
 * 
 * @author mmichalak
 *
 */
public class PipeImpl<Item> implements Pipe<Item> {

	Queue<Item> que = new Queue<Item>(); 
	
	@Override
	public void addItem(Item item) {
		que.enqueue(item);
	}

	@Override
	public Item removeItem() {
		if (que != null)
			return que.dequeue();
		else
			return null;
	}

	@Override
	public boolean isEmpty() {
		if (que != null)
			return que.isEmpty();
		else
			return true;
	}

}
